Precision machine vision inspection systems (or “vision systems” for short) can be utilized to obtain precise dimensional measurements of inspected objects and to inspect various other object characteristics. Such systems may include a computer, a camera and optical system, and a precision workstage that is movable in multiple directions to allow the camera to scan the features of a workpiece that is being inspected. One exemplary prior art system that is commercially available is the QUICK VISION® series of PC-based vision systems and QVPAK® software available from Mitutoyo America Corporation (MAC), located in Aurora, Ill. The features and operation of the QUICK VISION® series of vision systems and the QVPAK® software are generally described, for example, in the QVPAK 3D CNC Vision Measuring Machine User's Guide, published January 2003, and the QVPAK 3D CNC Vision Measuring Machine Operation Guide, published September 1996, each of which is hereby incorporated by reference in their entirety. This series of products, for example, is able to use a microscope-type optical system to provide images of a workpiece at various magnifications, and move the stage as necessary to traverse the workpiece surface beyond the limits of any single video image. A single video image typically encompasses only a portion of the workpiece being observed or inspected, given the desired magnification, measurement resolution, and physical size limitations of such systems.
Machine vision inspection systems generally utilize automated video inspection. U.S. Pat. No. 6,542,180 (the '180 patent) teaches various aspects of such automated video inspection and is incorporated herein by reference in its entirety. As taught in the '180 patent, automated video inspection metrology instruments generally have a programming capability that allows an automatic inspection event sequence to be defined by the user for each particular workpiece configuration. This can be implemented by text-based programming, for example, or through a recording mode which progressively “learns” the inspection event sequence by storing a sequence of machine control instructions corresponding to a sequence of inspection operations performed by a user with the aid of a graphical user interface (GUI), or through a combination of both methods. Such a recording mode is often referred to as “learn mode” or “training mode.” Once the inspection event sequence is defined in “learn mode,” such a sequence can then be used to automatically acquire (and additionally analyze or inspect) images of a workpiece during “run mode.”
The machine control instructions including the specific inspection event sequence (i.e., how to acquire each image and how to analyze/inspect each acquired image) are generally stored as a “part program” or “workpiece program” that is specific to the particular workpiece configuration. For example, a part program defines how to acquire each image, such as how to position the camera relative to the workpiece, at what lighting level, at what magnification level, etc. Further, the part program defines how to analyze/inspect an acquired image, for example, by using one or more video tools such as edge/boundary detection video tools.
Video tools (or “tools” for short) and other GUI features may be set up manually to accomplish inspection and/or other machine control operations. Video tools' set-up parameters and operations can also be recorded during learn mode, in order to create automatic inspection programs, or “part programs,” which incorporate measurement/analytical operations to be performed by various video tools. Video tools may include, for example, edge/boundary detection tools, autofocus tools, shape or pattern matching tools, dimension measuring tools, and the like. Other GUI features may include dialog boxes related to data analysis, step and repeat loop programming—as disclosed, for example, in U.S. Pat. No. 8,271,895, (the '895 patent) which is hereby incorporated herein by reference in its entirety—etc. For example, such tools and GUI features are routinely used in a variety of commercially available machine vision inspection systems, such as the QUICK VISION® series of vision systems and the associated QVPAK® software, discussed above.
The currently available features and GUI controls for step-and-repeat programming are limited. Briefly, in the context of machine vision inspection systems, step-and-repeat programming involves programming imaging/analytical operations to be repeatedly executed N times at N locations in an array of workpiece features (e.g. workpiece features arranged at locations in a regularly-spaced grid). For example, when a workpiece is supposed to have 8 instances of a circular hole arranged in an array, the step-and-repeat programming permits a user to define a single block of instructions to image/analyze the hole, which will then be executed 8 times, as opposed to having to separately define 8 sets of instructions. However, when a single set of instructions is to be executed multiple times, each time with the workstage shifted to image/analyze each of the features in the array, there currently is no convenient method for a relatively unskilled user (e.g. one that is not skilled in text-based computer programming in an underlying part program language) to edit or make adjustments to the instructions with respect to a particular one of the features.
The present invention is directed to providing a system, GUI and method as embodied in a computer-readable medium, which allow intuitive, flexible and robust conversion of step-and-repeat operation instructions to a more versatile editable form in part programs for precision machine vision inspection systems.